// powerup.c 易筋经加力
// Last Modified by winder on Mar. 10 2000

#include <ansi.h>
inherit F_CLEAN_UP;

void remove_effect(object me, int amount);

int exert(object me, object target)
{
	int skill;

  if ( userp(me) && !wizardp(me) && 
  !me->query("perform/powerup") &&
  !me->query("can_perform/yijinjing/powerup") && 
  !me->query_temp("murong/xingyi"))
   return notify_fail("你所使用的内功中没有这种功能。");
	if( target != me )
		return notify_fail("你只能提升自己的战斗力。\n");
	if( (int)me->query("neili")<200)
		return notify_fail("你的内力不够。\n");
	if( (int)me->query_temp("powerup"))
		return notify_fail("你已经在运功中了。\n");
	if( (int)me->query_temp("jingang") ) 
		return notify_fail(HIG"你的全部功力都运在大金刚拳上了。\n"NOR);
	if( (int)me->query_temp("zuida") ) 
		return notify_fail(HIG "你内息翻滚在八仙醉打中，一时提不起易筋经神功。\n"NOR);

	skill = me->query_skill("force");

	message_combatd(HIR"$N舌尖一咬，喷出一口鲜血，运起易筋经神功已将全身潜力尽数提起！\n"NOR, me);

	if (me->query("sex/number")) 
		skill=0;
	me->add_temp("apply/attack", skill/3);
	me->add_temp("apply/dodge", skill/3);
	me->set_temp("powerup", 1);
	me->add("neili", -100);

	me->start_call_out( (: call_other, __FILE__, "remove_effect", me, skill/3 :), skill);

	if( me->is_fighting() ) me->start_busy(3);

	return 1;
}

void remove_effect(object me, int amount)
{
	me->add_temp("apply/attack", - amount);
	me->add_temp("apply/dodge", - amount);
	me->delete_temp("powerup");
	tell_object(me, "你的易筋经神功运行完毕，将内力收回丹田。\n");
}
int help(object me)
{
	write(WHT"\n易筋经神功之加力："NOR"\n");
	write(@HELP

	使用功效：
		提升自己的攻击防御能力

	出手要求：
	        内力200
HELP
	);
	return 1;
}

